package com.atzxh.collection.list;

import java.util.ArrayList;
import java.util.List;

/**
 * @author 小红同学
 * @create 2022-10-11-11:01
 * @description
 */
public class List_Method {
    @SuppressWarnings({"all"})
    public static void main(String[] args) {

        //1.    List集合中元素,有序可重复
        ArrayList list = new ArrayList();

        list.add("jack");
        list.add("tom");
        list.add("tom");
        list.add("jack");

        System.out.println("list = "+list);

        //2.    List元素都有其对应的索引,支持按索引返回数据
        //      注意：索引是从0开始的
        Object o = list.get(2);  // 第三个元素
        System.out.println(o);
        System.out.println("========常用方法========");

        //3. list常用方法

        // void add(int index, Object o) 按照指定索引添加元素
        list.add(1,"张新泓");

//        list.addAll(list);
//        System.out.println(list);

        // boolean addAll(int index, Collection col)
        ArrayList list2 = new ArrayList();
        list2.add("qwe");
        list2.add("wee");
        list2.add("rer");
        list.addAll(list2);
        System.out.println("list = " + list);

        // 返回元素首次出现的位置
        System.out.println(list.indexOf("张新泓"));

        // 返回元素最后一次出现的位置
        list.add("张新泓");
        System.out.println(list);
        System.out.println(list.lastIndexOf("张新泓"));

        // 删除指定位置的元素
        list.remove(8);
        System.out.println(list);

        // 修改指定位置的元素   指定的索引一定要存在
        list.set(1,"小红同学");
        System.out.println(list);

        // 返回子集合  [ int start , int end )  左闭右开区间
        List subList = list.subList(1, 3);
        System.out.println(subList);




    }
}
